/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package state;

import presenter.CadPacientePresenter;
import view.TelaCadPaciente;

/**
 *
 * @author Kdc
 */
public class EstadoVisualizar extends AbstractClienteState{

    public EstadoVisualizar(CadPacientePresenter objeto) {
        super(objeto);
        processar();
    }


    @Override
    public void processar() {
        //objeto.getView().setVisible(true);
        setarCampos(objeto);
        bloquearCampos(objeto.getView());
        bloquearBotoes(objeto.getView());
        liberarBotoes(objeto.getView());
        
        objeto.getView().setTitle("Visualizando Paciente");
        objeto.getView().setVisible(true);
        
        System.out.println("=====================================\nEstado Visualizar\n=====================================");
    }
    
    private void setarCampos(CadPacientePresenter objeto)
    {
        
        //Setar os campos editaveis
        objeto.getView().getJtNome().setText(objeto.getPacienteEdicao().getNome());
        objeto.getView().getJtdataNascimento().setText(objeto.getPacienteEdicao().getDataNascimento());
        int pIndice = 0;
        
        if(objeto.getPacienteEdicao().getSexo() == 'M')
        {
            pIndice = 1;
        }
        else if(objeto.getPacienteEdicao().getSexo() == 'F')
        {
            pIndice = 2;
        }

        objeto.getView().getJcSexo().setSelectedIndex(pIndice);
        objeto.getView().getJtAltura().setText(String.valueOf(objeto.getPacienteEdicao().getAltura()));
        objeto.getView().getJtPeso().setText(String.valueOf(objeto.getPacienteEdicao().getPeso()));
        objeto.getView().getJtQuadril().setText(String.valueOf(objeto.getPacienteEdicao().getMedidaQuadril()));
        objeto.getView().getJtCintura().setText(String.valueOf(objeto.getPacienteEdicao().getMedidaCintura()));
        
        
        //Setar os campos calculados
        
        objeto.getView().getJlClassificacaoIMC().setText(objeto.getCp().exibeClassificacaoDoMetodo(objeto.getPacienteEdicao().getNome(),"IMC"));
        objeto.getView().getJlClassificacaoIAC().setText(objeto.getCp().exibeClassificacaoDoMetodo(objeto.getPacienteEdicao().getNome(),"IAC"));
        objeto.getView().getJlClassifcCC().setText(objeto.getCp().exibeClassificacaoDoMetodo(objeto.getPacienteEdicao().getNome(),"CC"));
        objeto.getView().getJlClassifcRCQ().setText(objeto.getCp().exibeClassificacaoDoMetodo(objeto.getPacienteEdicao().getNome(),"RCQ"));
        
        objeto.getView().getJlIMC().setText(objeto.getCp().buscarValorMetodoCalculo(objeto.getPacienteEdicao().getNome(),"IMC"));
        objeto.getView().getJlIAC().setText(objeto.getCp().buscarValorMetodoCalculo(objeto.getPacienteEdicao().getNome(),"IAC"));
        objeto.getView().getJlCC().setText(objeto.getCp().buscarValorMetodoCalculo(objeto.getPacienteEdicao().getNome(),"CC"));
        objeto.getView().getJlRCQ().setText(objeto.getCp().buscarValorMetodoCalculo(objeto.getPacienteEdicao().getNome(),"RCQ"));
        
    }
    
    private void bloquearCampos(TelaCadPaciente objeto)
    {
        objeto.getJcSexo().setEnabled(false);
        objeto.getJtAltura().setEnabled(false);
        objeto.getJtCintura().setEnabled(false);
        objeto.getJtNome().setEnabled(false);
        objeto.getJtPeso().setEnabled(false);
        objeto.getJtQuadril().setEnabled(false);
        objeto.getJtdataNascimento().setEnabled(false);
        objeto.getJbSalvar().setEnabled(false);
    }
    
    private void bloquearBotoes(TelaCadPaciente objeto)
    {
        objeto.getJbSalvar().setEnabled(false);
    }
    
    private void liberarBotoes(TelaCadPaciente objeto)
    {
        objeto.getBtnNovo().setEnabled(true);
        objeto.getBtnEditar().setEnabled(true);
    }

    @Override
    public void salvar(CadPacientePresenter cadPaciente) {
        
    }

    
    
}
